package com.team11.server.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.team11.server.pojo.InformationLIst;
import com.team11.server.pojo.LInformation;
import com.team11.server.pojo.dto.vo.Leave;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author mahongtao
 * @since 2021-06-17
 */
public interface LInformationMapper extends BaseMapper<LInformation> {
    /**
     * 获取请假管理的记录（分页）
     *
     * @param page s
     * @param informationLIst s
     * @return s
     */
    IPage<InformationLIst> getLInformationLIstByPage(Page<InformationLIst> page,
                                                     @Param("informationLIst") InformationLIst informationLIst,
                                                     @Param("startTime") LocalDate startTime,
                                                     @Param("endTime") LocalDate endTime);

    /**
     * 根据学生id，返回请假内容
     *
     * @param sid s
     * @return s
     */
    List getdetail(@Param("sid") Integer sid);

    /**
     * 学生端：请假管理
     *
     * @param page s
     * @param sid s
     * @param leave s
     * @return s
     */
    IPage<List<Map<String, Object>>> getStudentLInformation(IPage<List<Map<String, Object>>> page,
                                                            @Param("sid") Integer sid,
                                                            @Param("leave") Leave leave);

    /**
     * 获取学生信息
     *
     * @param sid s
     * @return s
     */
    Map<String, String> getStudentDetails(@Param("sid") Integer sid);

    /**
     * 获取请假信息
     *
     * @param lId s
     * @return s
     */
    Map<String,String> getLeaveDetails(@Param("lId") Integer lId);
}
